package com.ar.webSimple.daoImple;

import java.io.Serializable;
import java.util.List;

import com.ar.webSimple.dao.ProductoDao;
import com.ar.webSimple.entity.Producto;
import com.ar.webSimple.utils.Constantes;


public class ProductoDaoImple extends GenericDaoImple implements ProductoDao{

	
	@Override
	public void delete(Producto producto) {
		producto.setActivo(Constantes.desactivar);
		persist(producto);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Producto> findAll() {
		return getHibernateTemplate().loadAll(Producto.class);
	}

	@Override
	public Producto searchById(Serializable id) {
		return (Producto) getHibernateTemplate().get(Producto.class, id);
	}

	@Override
	public Producto searchByCodigo(String codigo) {
		StringBuffer query = new StringBuffer();
		
		query.append("FROM "+Producto.class+" producto ");
		query.append(" WHERE ");
		query.append(" producto.activo='S' ");
		query.append(" AND ");
		query.append(" producto.codigo='"+codigo+"'");
		
		return (Producto) getHibernateTemplate().find(query.toString());
	}

	@Override
	public Producto searchByNombre(String nombre) {
		StringBuffer query = new StringBuffer();
		
		query.append("FROM "+Producto.class+" producto ");
		query.append(" WHERE ");
		query.append(" producto.activo='S' ");
		query.append(" AND ");
		query.append(" producto.codigo='"+nombre+"'");
		
		return (Producto) getHibernateTemplate().find(query.toString());
	}

}
